<template>
  <view>
    <web-view :src="src"></web-view>
  </view>
</template>
  <script setup>
import { onLoad, onShareAppMessage } from "@dcloudio/uni-app";
import { ref } from "vue";
const src = ref("");

const shareTitel = ref("");
const shareImg = ref("");
const sharePath = ref("");
onLoad((options) => {
  getApp().accessLogAdd();
  src.value = options.webSrc;
  if (options.webSrc === "https://nfo.cocafe.co/claim") {
    src.value = options.webSrc + "?referral=" + options.referral;
  }
  if (options.titleName) {
    uni.setNavigationBarTitle({
      title: options.titleName,
    });
  }

  if (options.token) {
    src.value = `${decodeURIComponent(options.webSrc)}?token=${
      options.token
    }&code==${options.code}&openid=${options.openid}&unionid=${
      options.unionid
    }&memberid=${options.memberid}&agree=${options?.agree ?? "false"}&version=${
      options?.version
    }`;
  }
  if (options.shareTitel) {
    shareTitel.value = options.shareTitel;
    shareImg.value = options.shareImg;
    sharePath.value = options?.path ?? "";
  }
  console.log(src.value);
});

onShareAppMessage((e) => {
  const pages = getCurrentPages();
  const currentPage = pages[pages.length - 1];
  const pageUrl = currentPage.$page.fullPath;
  if (shareTitel.value === "") return;
  const shareObj = {
    title: shareTitel.value, // 默认是小程序的名称(可以写slogan等)
    path: sharePath.value !== "" ? sharePath.value : pageUrl, // 默认是当前页面，必须是以‘/’开头的完整路径
    imageUrl: shareImg.value, //自定义图片路径，可以是本地文件路径、代码包文件路径或者网络图片路径，支持PNG及JPG，不传入 imageUrl 则使用默认截图。显示图片长宽比是 5:4
    success: (res) => {
      // 转发成功之后的回调
      if (res.errMsg == "shareAppMessage:ok") {
      }
    },
    fail: (err) => {
      // 转发失败之后的回调
      console.log("转发失败之后的回调", err);
      if (res.errMsg == "shareAppMessage:fail cancel") {
        // 用户取消转发
        console.log("用户取消转发");
      } else if (res.errMsg == "shareAppMessage:fail") {
        // 转发失败，其中 detail message 为详细失败信息
        console.log("转发失败，其中detail message 为详细失败信息");
      }
    },
    complete: () => {
      // 转发结束之后的回调（转发成不成功都会执行）
      console.log("转发结束之后的回调（转发成不成功都会执行）");
    },
  };
  console.log(shareObj);
  return shareObj;
});
</script>
  
  <style></style>
  